Logical Analysis of Demonic Nondeterministic Programs
نویسندگان
چکیده
A logical framework is presented for representing and reasoning about nondeterministic programs that may not terminate. We propose a logic PDL(; ;, ||, d(∗)) which is an extension of dynamic logic such that the program constructors related to demonic operations are introduced in its language. A complete and sound Hilbert-style proof system is given and it is shown that PDL(; ;, ||, d(∗)) is decidable. In the second part of this paper, a translation is defined between PDL(; ;, ||, d(∗)) and a relational logic. A sound and complete Rasiowa-Sikorski-style proof system for the relational logic is given. It provides a natural deduction-style method of reasoning for PDL(; ;, ||, d(∗)).
منابع مشابه
Kleene under a Demonic Star
In relational semantics, the input-output semantics of a program is a relation on its set of states. We generalize this in considering elements of Kleene algebras as semantical values. In a nondeterministic context, the demonic semantics is calculated by considering the worst behavior of the program. In this paper, we concentrate on while loops. Calculating the semantics of a loop is difficult,...
متن کاملCorrectness and Refinement of Dually Nondeterministic Programs
In this paper we extend different reasoning methods from traditional (demonic) programs to programs with both demonic and angelic nondeterminism. In particular, we discuss correctness proofs, and refinement of programs while reducing angelic nondeterminism (into demonic nondeterminism or determinism). As expected, reducing angelic nondeterminism is generally not a refinement; however, when cont...
متن کاملA new rule for almost-certain termination of probabilistic and demonic programs
Extending our own and others’ earlier approaches to reasoning about termination of probabilistic programs, we propose and prove a new rule for termination with probability one, also known as “almostcertain termination”. The rule uses both (non-strict) super martingales and guarantees of progress, together, and it seems to cover significant cases that earlier methods do not. In particular, it su...
متن کاملA Calculus for Predicative Programming
A calculus for developing programs from specifications written as predicates that describe the relationship between the initial and final state is proposed. Such specifications are well known from the specification language Z. All elements of a simple sequential programming notation are defined in terms of predicates. Hence programs form a subset of specifications. In particular, sequential com...
متن کاملDeveloping and Reasoning About Probabilistic Programs in pGCL
As explained in Chapter 1, Dijkstra’s guarded-command language, which we call GCL, was introduced as an intellectual framework for rigorous reasoning about imperative sequential programs; one of its novelties was that it contained explicit “demonic” nondeterminism, representing abstraction from (or ignorance of) which of two program fragments will be executed. By introducing probabilistic nonde...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Theor. Comput. Sci.
دوره 166 شماره
صفحات -
تاریخ انتشار 1996